package cn.tedu.adminsystem.webapi.mapper;

import cn.tedu.community.commons.pojo.notice.entity.Notice;
import cn.tedu.community.commons.pojo.notice.vo.AdmNoticeListItemVO;
import cn.tedu.community.commons.pojo.notice.vo.AdmNoticeStandardVO;
import cn.tedu.community.commons.pojo.notice.vo.UserNoticeListItemVO;
import cn.tedu.community.commons.pojo.notice.vo.UserNoticeStandardVO;
import org.springframework.stereotype.Repository;

import java.util.List;

@Repository
public interface NoticeMapper {
    //添加公告
    int insert(Notice notice);

    //根据标题查询数量
    int countTitle(String title);

    //根据公告ID删除公告
    int deleteById(Long id);

    //根据公告ID批量删除公告
    int deleteByIds(Long[] id);

    //修改公告
    int update(Notice notice);

    //根据id查询详情到管理员页面
    AdmNoticeStandardVO getAdmNoticeStandardById(Long id);

    //查询公告列表到管理员页面
    List<AdmNoticeListItemVO> getAdmNoticeList();

    //根据模糊标题查询数量
    int countByTitle(String title);

    //根据模糊标题查询列表到管理员页面
    List<AdmNoticeListItemVO> getAdmNoticeListByTitle(String title);

    //根据id查询详情到用户页面
    UserNoticeStandardVO getUserNoticeStandardById(Long id);

    //查询公告列表到用户页面
    List<UserNoticeListItemVO> getUserNoticeList();
}
